﻿using System;
using System.Collections.Generic;

using BizElements.Core;

namespace BizElements.BusinessLayer
{
    /// <summary>Contains information about weak entity structure, i.e. special fields, and field acces permissions.</summary>
    public interface IDataObjectDescriptor
    {
        /// <summary>Map of special entity properties such as ownership fields, audit fields etc. These fields affect various aspects of data, business and UI logic.</summary>
        FieldMap Fields { get; }

        /// <summary>Optional field-level security access permissions. Empty collection if no special field-level access permissions are defined.</summary>
        IEnumerable<FieldPermissionSet> FieldPermissions { get; }
    }
}